The present invention relates to techniques for detecting and sampling events occurring repetitively.
It finds a particular, non-exclusive application in operation, administration and maintenance (OAM) facilities with which certain telecommunications equipment is equipped.
A large number of data elements circulate in telecommunications networks. Analysis of the occurrences of specified types of data elements is useful to the operators for improving or optimizing the operation of their networks and for detecting any malfunctions therein.
By way of example, in an ATM (xe2x80x9cAsynchronous Transfer Modexe2x80x9d) network, the data elements whose occurrences are analyzed may be the ATM cells transmitted along a particular virtual connection, thereby making it possible to analyze the bit rate behavior of the source of the cells and/or the response of the network with regard to this source.
As another exemplary application of the invention, mention may be made of protocol analyzers. The relevant data elements may then correspond to particular type messages of a signaling protocol.
During the deployment of a network, the configuring of the equipment allows it a priori to meter the occurrences of various types of data elements. It is merely necessary to make provision for the appropriate software resources in this equipment. The elements to be detected in a given situation are defined by means of the OAM facilities of the network, which activate the software resources in question and then collect the results of the observations.
The customary observation mechanisms are based on counters which cater for operations such as enumeration of events over given periods, calculation of aggregate values, averages, minima, maxima, etc. Although they provide interesting information, these counters do not make it possible to evaluate a traffic profile over a given observation period. In particular, they do not make it possible to evaluate the more or less bursty nature of the traffic observed. For example, it is quite obvious that the traffic profiles illustrated, in arbitrary units, by the curves of FIGS. 1 and 2 correspond to very different behaviors of the network, although they give rise to similar values for the maximum value (MAX) and the average value (AVE) of the observed traffic load.
To evaluate a traffic profile, i.e. the time distribution of the events detected over a given observation period, use is customarily made of a sampling method consisting in recording the number ki of events occurring during a given time unit. For example, a byte is used every millisecond to record the number of events detected in the course of the previous millisecond. The time unit adopted is fixed before the start of the observation period, as is the number of bits employed for recording each number of events. A drawback of this method is that zeros are recorded needlessly when the traffic observed has regions of silence.
In another sampling method, the sampling quantity (number of events detected) is constant, i.e. k1=k2= . . . =k, and the data recorded represent the sampling times Ti taken to detect k new occurrences of the event. This method prevents the sampling from generating data in the regions of silence. It generally involves an approximation when the times metered are represented in the form of integers.
The two above-mentioned methods do not behave satisfactorily in the presence of large variations in the rate of the detected events. With the first method, an increase in the rate may cause overflow because the space provided for recording the number ki may become insufficient, while an increase in this space increases the needless consumption of memory or of bandwidth in the regions of silence. With the second method, an increase in the rate involves the production of abundant data for representing short sampling times. In both cases, the volume of data generated by the sampling method is not optimal.
This type of traffic profile analysis thus poses difficulties when it pertains to the time distribution of very frequent occurrences. The relevant data elements are typically manipulated by a processor or by logic circuits supervised by a processor. The enumeration of their occurrences and the coding of the data ki or Ti are carried out by this processor. The coding data being relatively abundant, they are often stored in a local memory before being transmitted for analysis. The processor is then invoked to write the data to disk as it goes along and then to read them and transmit them to a remote OAM server. The coding data produced therefore mobilize considerable resources of the processor (CPU time) in order to be written to disk and then read therefrom and/or transmitted. However, the resources of the processor are relatively valuable, especially in the case where the events taken into account are very frequent since the processor""s performance constraints are then more severe.
An object of the present invention is to remedy the above difficulties by proposing an efficient sampling method making it possible to control the amount of data generated in reporting the observations.
The invention thus proposes a method for reporting the time distribution of a succession of specified events, comprising an initialization of a sampling quantity consisting of a positive integer and a plurality of successive iterations of a scheme comprising the steps of:
detecting a number of events equal to the sampling quantity and metering a sampling time taken to detect said number of events;
quantizing the sampling time metered in the preceding step to output coding data representing a quantized value of said sampling time; and
updating the sampling quantity as a function of parameters including said quantized value of the sampling time.
The method uses sampling quantities ki+1 adaptable as a function of the quantized values of the sampling times Ti previously observed (i=1, 2, 3, . . . ).
The instantaneous rate of the detected events is thus taken into account, implicitly or explicitly, whereby the variations in this rate are properly tracked. When this rate is low, ki is taken relatively high. When it increases, the update decreases the quantity ki. This allows a certain predictability of the sampling time Ti, and hence efficient coding of this parameter, so that the amount of coding data generated by the method is controlled.
The OAM server, which processes the coding data, is capable of initializing the sampling quantity k1 in the same way as the sending unit which detected the events. It associates therewith the quantized value t1, recovered based on the coding data, of the first sampling time T1 and it deduces therefrom the sampling quantity k2 through the same updating relation which was used by the sending unit. By recurrence, the i-th coding data define a quantized value ti of the sampling time Ti and make it possible to calculate ki+1. The successive reading of the coding data thus allows the OAM server to determine all the pairs (ki, ti) which, according to requirements, may be reprocessed to produce traffic histograms (with a constant time step) with small approximations, or to calculate all kinds of statistical quantities (average, variance, minima, maxima, etc.).
In a particular implementation of the method, an event rate is estimated explicitly in each iteration of the scheme. The updating of the sampling quantity then comprises the calculation of an estimated event rate as a function of parameters including the preceding sampling quantity and the quantized value of the sampling time. The updated sampling quantity is subsequently deduced from the estimated rate.
The updated sampling quantity is typically an integer substantially proportional to the estimated event rate. This integer can in particular be ┌Z.xcex.n/S┐, where Z is a predefined total duration of observation, xcex is the estimated event rate, n is a number of bits used to form the coding data representing a quantized time value, S is a predefined data size expressed as a number of bits. In the above notation, for a number y, ┌y┐ represents the integer equal to or immediately greater than y.
The estimated event rate is advantageously calculated in the form (1xe2x88x92x).xcex+x.K/t, where x is a weighting coefficient lying between 0 and 1, xcex is the estimated event rate in force before the current iteration, K is the preceding sampling quantity and t is the quantized value of the sampling time of the current iteration.
The number x makes it possible to select the sensitivity of the rate estimator. A value close to zero restricts the variations in xcex and hence the adaptive nature of the method, while a value close to 1 can cause abrupt variations of the estimator.
In an advantageous embodiment of the method, the quantization of the sampling time comprises the production of coding data including at least one index of n bits, n being a predefined integer larger than 3, and the production of these coding data comprises the steps of:
determining a prediction time interval;
if the sampling time is below the prediction interval, outputting an index having a first value and replacing the prediction interval by a new time interval situated immediately below the preceding interval;
if the sampling time is above the prediction interval, outputting an index having a second value distinct from the first value and replacing the prediction interval by a new time interval situated immediately above the preceding interval; and
if the sampling time is within the prediction interval, outputting an index having a value distinct from the first and second values and representative of the position of the sampling time in the prediction interval.
The prediction time interval initially determined is typically positioned with respect to a prediction value equal to the ratio of the sampling quantity to the estimated event rate.
To optimize the accuracy of the method, it is possible to use a shifting parameter initialized to zero and then updated in each iteration of the scheme as a function of the difference between the metered sampling time and the quantized value of this sampling time. In at least some of the iterations (preferably all), this shift parameter is taken into account in counting down the sampling time.
Another aspect of the invention relates to telecommunication equipment, comprising means for transmitting and/or receiving traffic including successive data elements, means for detecting occurrences of data elements of a particular type in said traffic and coding means for outputting coding data reporting the time distribution of the occurrences detected, wherein the coding means are arranged to implement a method as defined hereinabove.
A third aspect of the invention concerns a computer program, loadable into a memory associated with a processor, and comprising code portions for implementing a method as defined hereinabove in the execution of said program by the processor.